A Proof Infrastructure for Binary Programs
نویسندگان
چکیده
Establishing properties of binary programs by proof is a desirable goal when the properties of interest are crucial, such as those that arise in safetyand security-critical applications. Practical development of proofs for binary programs requires a substantial infrastructure to disassemble the program, define the machine semantics, and actually undertake the required proofs. At the center of these infrastructure requirements is the need to document semantics in a formal language. In this paper we present a work-in-progress proof infrastructure for binary programs based on AdaCore’s integrated development and verification environment, SPARKPro. We illustrate the infrastructure with proof of a security property.
منابع مشابه
Infrastructure for Proof-Referencing Code
We discuss ideas for using the Higher-Order Logic (HOL) theorem-proving system as an infrastructure for programs that reference or carry proofs of their correctness. Such programs, which we call Proof-Referencing Code (PRC), could be useful or even essential for applications where security of mobile code is important, but where authentication is impractical and runtime checking is expensive. We...
متن کاملProgramming Research Group Proof Rules for Probablistic Loops
Probabilistic predicate transformers provide a semantics for imperative programs containing both demonic and probabilistic nondeterminism. Like the (standard) predicate transformers popularised by Dijkstra, they model programs as functions from nal results to the initial conditions su cient to achieve them. This paper presents practical proof rules, using the probabilistic transformers, for rea...
متن کاملProof rules for probabilistic loops
Probabilistic predicate transformers provide a semantics for imperative programs containing both demonic and probabilistic nondeterminism. Like the (standard) predicate transformers popularised by Dijkstra, they model programs as functions from final results to the initial conditions sufficient to achieve them. This paper presents practical proof rules, using the probabilistic transformers, for...
متن کاملVerifying Haskell programs by combining testing, model checking and interactive theorem proving
We propose a program verification method that combines random testing, model checking and interactive theorem proving. Testing and model checking are used for debugging programs and specifications before a costly interactive proof attempt. During proof development, testing and model checking quickly eliminate false conjectures and generate counterexamples which help to correct them. With an int...
متن کاملTwo-dimensional proof-relevant parametricity
Relational parametricity is a fundamental concept within theoretical computer science and the foundations of programming languages, introduced by John Reynolds [6]. His fundamental insight was that types can be interpreted not just as functors on the category of sets, but also as equality preserving functors on the category of relations. This gives rise to a model where polymorphic functions ar...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016